namespace Digitalmes.Application.Sys;

/// <summary>
/// 组织机构表
/// </summary>
public sealed class SysOrganizeDto : Dto
{
    /// <summary>
    /// 父节点
    /// </summary>
    public long ParentId { get; set; }

    /// <summary>
    /// 部门名称
    /// </summary>
    [Required, NotNull]
    [StringLength(32)]
    public string? Name { get; set; }

    /// <summary>
    /// 机构编码
    /// </summary>
    public string? Number { get; set; }

    /// <summary>
    /// 父节点集合
    /// </summary>
    public List<long> ParentIdList { get; set; } = new();

    /// <summary>
    /// 部门层级
    /// </summary>
    public int Layer { get; set; }

    /// <summary>
    /// 排序
    /// </summary>
    public int Sort { get; set; } = 1;

    /// <summary>
    /// 状态
    /// </summary>
    public bool Status { get; set; } = true;

    /// <summary>
    /// 删除状态
    /// </summary>
    public bool IsDel { get; set; }

    /// <summary>
    /// 部门负责人
    /// </summary>
    public string? LeaderUser { get; set; }

    /// <summary>
    /// 联系电话
    /// </summary>
    public string? LeaderMobile { get; set; }

    /// <summary>
    /// 联系邮箱
    /// </summary>
    public string? LeaderEmail { get; set; }

    /// <summary>
    /// 创建时间
    /// </summary>
    [Required]
    public DateTime CreateTime { get; set; }

    /// <summary>
    /// 创建人
    /// </summary>
    public string? CreateUser { get; set; }

    /// <summary>
    /// 修改时间
    /// </summary>
    public DateTime? UpdateTime { get; set; }

    /// <summary>
    /// 修改人
    /// </summary>
    public string? UpdateUser { get; set; }
}
